/*
    fork：子进程会继承父进程当前状态的所有事物
            父进程的全部用户数据
            父进程打开的文件对应的文件描述符
            标准IO的缓冲区
            信号的处理方式
            ...
        子进程不会从头开始，而是从当前程序代码开始执行
        但是会继承前面的状态
*/

#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int a = 5;
int main(void)
{
    pid_t pid;
    pid = fork();
    a = 250;
    if (pid > 0)//父进程
    {
        a = 1024;
        printf("parent back!\n");
        printf("parent a=%d\n", a);//父进程的a
    }
    else if (pid == 0)
    {
        printf("child back!\n");
        printf("child a=%d\n", a);//子进程的a
    }
    return 0;
}